package com.zpark.se.thread;

/**
 * @PackageName: com.zpark.se.thread
 * @ClassName: Demo08
 * @Description:
 * @author: RZS
 * @date: 2024/11/26  17:43
 */
public class Demo08 {
    public static void main(String[] args) throws Exception {
        // Thread类提供的静态方法介绍
        /*
            activeCount(): 获取当前线程组中活动线程的数目
         */
        int i = Thread.activeCount();

        /*
         currentThread(): 获取当前正在执行的线程对象
         */
        Thread thread = Thread.currentThread();
        System.out.println(thread.getName());

        /*
         dumpStack(): 将当前线程的堆栈跟踪输出到标准错误流
         */
        Thread.dumpStack();

        /*
         enumerate(Thread[] tarray): 将当前线程组中的活动线程复制到指定的数组中，
         返回数组中线程的数目
         */
        // Thread.enumerate()

        /*
         holdsLock(Object obj): 判断当前线程是否保持对指定对象的监视
         */
        boolean b = Thread.holdsLock(new Object());

        /*
         interrupted(): 判断当前线程是否已经中断，如果当前线程已经中断，则返回true，
         */
        boolean interrupted = Thread.interrupted();

        /*
         sleep(long millis): 使当前正在执行的线程以指定的毫秒数暂停（暂时停止执行）
         */
        Thread.sleep(1000);

        /*
         yield(): 暂停当前正在执行的线程对象，并执行其他线程
         */
        Thread.yield();
    }
}
